package com.hilinos.base.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hilinos.base.user.entity.pojo.UserAccountPoJo;

import java.util.List;

/**
 * @author hilinos
 * @since 2022-03-08
 */
public interface UserAccountService extends IService<UserAccountPoJo> {
    default UserAccountPoJo getDetail(String accountId, String accountType, String orgId, String appid) {
        QueryWrapper<UserAccountPoJo> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda()
                .eq(UserAccountPoJo::getAccountId, accountId)
                .eq(UserAccountPoJo::getAccountType, accountType)
                .eq(UserAccountPoJo::getOrgId, orgId)
                .eq(UserAccountPoJo::getAppid, appid);
        return getOne(queryWrapper);
    }

    default List<UserAccountPoJo> getListByUserId(String userId, String appid) {
        QueryWrapper<UserAccountPoJo> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(UserAccountPoJo::getUserId, userId).eq(UserAccountPoJo::getAppid, appid);
        return list(queryWrapper);
    }

    default List<UserAccountPoJo> getListByAccountId(String accountId, String accountType, String appid) {
        QueryWrapper<UserAccountPoJo> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda()
                .eq(UserAccountPoJo::getAccountId, accountId)
                .eq(UserAccountPoJo::getAccountType, accountType)
                .eq(UserAccountPoJo::getAppid, appid);
        return list(queryWrapper);
    }
}